package com.qf.pay.controller;

import cn.hutool.http.HttpRequest;
import com.qf.utils.JwtUtils;
import com.qf.utils.WxPayUtils;
import com.qf.vo.ResultVo;
import com.qf.vo.WxpayVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping("/pay")
@CrossOrigin
@Slf4j
public class WxController {

    @PostMapping("/geturl")
    public ResultVo geturl(@RequestBody WxpayVo wxpayVo){
        log.info("收到的下单参数为,wxpayVo={}",wxpayVo);
        //1. 校验必传参数不能为空
//        String token = request.getHeader("token");
//        if (token==null || !JwtUtils.checkToken(token)) {
//            log.info("token 非法");
//            return new ResultVo(-2, "token非法", null);
//        }
        //2. 调用微信支付的统一下单接口获取url
        String payUrl = WxPayUtils.getPayUrl(wxpayVo);

        return new ResultVo(1, "ok", payUrl);
    }

    @GetMapping("/query")
    public ResultVo query(String orderId){

        log.info("要查询的订单编号为,orderId={}",orderId);

        // 1. 校验参数
//        String token = request.getHeader("token");
//        if (token==null || !JwtUtils.checkToken(token)) {
//            log.info("token 非法");
//            return new ResultVo(-2, "token非法", null);
//        }

        // 2. 调用微信支付的查询订单状态接口
        String s = WxPayUtils.queryOrderStatus(orderId);
        if ("SUCCESS".equals(s)){
            return new ResultVo(1, "ok", 2);
        }else {
            return new ResultVo(1, "ok", 1);
        }

    }


}
